perm filename COMMON[E84,JMC] blob
sn#863825 filedate 1988-11-20 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00030 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00004 00002 common[e84,jmc] What is common sense? - for AAAI Presidential Address
C00009 00003 (outline (intro areas EpistandHeur formalizations challenges))
C00010 00004 examples:
C00011 00005 pass the salt
C00013 00006 In 1958 I wrote a paper entitled "Programs with Common Sense".
C00017 00007 considerations:
C00020 00008 Question:
C00021 00009 Feigenbaum's question:
C00022 00010 Separating facts from program:
C00023 00011 The goal of expressing common sense knowledge in logic is rather old.
C00025 00012 Philosophical presumptions:
C00028 00013 Overlap with philosophy:
C00030 00014 Philosophical presuppositions of AI:
C00031 00015
C00033 00016 \centerline{\bf The epistemology of common sense:}
C00034 00017 Preventing the dogs from knocking over the trash cans.
C00035 00018 Theoretical knowledge:
C00037 00019 Effects of actions in achieving goals
C00038 00020 Blocks world:
C00040 00021
C00041 00022 Non-monotonic reasoning:
C00043 00023 Self-consciousness:
C00045 00024 Why is common sense difficult for AI?
C00046 00025 \centerline{\bf The principle of rationality:}
C00047 00026 Theoretical facts:
C00052 00027 Natural kinds:
C00056 00028 Rich objects and finite objects:
C00057 00029 Finitization:
C00060 00030 Circumscription and other non-monotonic reasoning formalisms:
C00062 ENDMK
C⊗;
common[e84,jmc] What is common sense? - for AAAI Presidential Address
Outline
Slide 1
What is common sense?
Why do AI programs need it?
Why don't we have it yet?
How do we get there from here?
Slide 2
Common sense is a certain collection of knowledge and ability to
use the knowledge.
Slide 3
Common sense includes:
Facts about the consequences of actions and other events.
Facts about the relation between appearance and reality.
Outline:
1. General statement about what is common sense.
2. Why AI programs don't have it.
3. What's difficult about it, and why it doesn't exactly fit the
production system paradigm. Or the logic programming paradigm.
4. List of common sense knowledge areas.
a. causality and prediction
b. appearance and reality
c. knowledge, belief and rational behavior
d. understanding and explaining events
e. communication of partial knowledge based on understanding
5. Concrete domains
a. blocks world
b. inheritance with exceptions
c. dogs and trash cans, ask Sarah to make photo
Solving the problem promptly is not within most people's common sense ability,
but understanding the solution is.
d. illness and doctors
e. story understanding
6. Remarks (take as much as possible out of this into the general outline).
common sense summer
there are philosophical presuppositions
formalized non-monotonic reasoning
linguistics touches a corner of the problem
cartoons illustrating different meanings of "It's the salt". or "salt".
(none of the variants are simple homonyms)
problems like granularity
principle of rationality and its non-monotonic contractions
"He intends to do what he thinks will achieve his goals".
7. The logical approach
7. The relation between logic and AI
logic programming
The example of the sterile container. Are there other good examples
of theoretical knowledge? Medicine, of course? Anything used in
design.
facts about heuristics. It's best to color the 3-or-fewers last,
and this is recursive.
If we knew how to express common sense knowledge, we could create a
common sense database that would be usable by any programs.
Commons sense reasoning is heavily non-monotonic.
8. Recognition of other people's work
common sense summer
Newell's logic level
Hobbs's ontological promiscuity
McDermott, Hayes, Moore, Rosenschein
9. Feigenbaum will be right once a good representation framework has
been created.
10. Theoretical knowledge. Example: A container is sterile if all
the bacteria in it are dead.
(outline (intro areas EpistandHeur formalizations challenges))
examples:
blocks
mrhug
dogs
pass the salt
1. Rule based:
(imp (and
(want salt)
(on salt table)
(not-politely-reachable salt)
(at ?someone-else table)
(politely-reachable salt ?someone-else))
(should
(say "please pass the salt")))
or
(:rule ((want salt)
(on salt table)
(not-politely-reachable salt))
(at ?someone-else table)
(politely-reachable salt ?someone-else)
(say "please pass the salt"))
When a person says "Please pass the salt" under the usual
circumstances, he is not conscious of having thought about it.
His behavior is consistent with there being a built-in rule like
(1a).
However, if we install such a rule in the database of
a robot, it will act much less flexibly than a human. For example,
if the person close to the salt doesn't understand English,
a person will not obey the rule, but will try out his French, if
appropriate, or think about some other way of communicating.
1988 Nov
The previous misses the fact that the declarative approach
also allows acceding to a request for the salt - or to an
overheard request for the salt actually directed at someone else.
It allows passing on a request for the salt.
In 1958 I wrote a paper entitled "Programs with Common Sense".
Unfortunately, the paper isn't completely obsolete.
My 1958 paper "Programs with Common Sense" is unfortunately
not yet obsolete.
When I started thinking about artificial intelligence in 1949
my goal was to make a machine into which I could put my own thought
processes and which would carry out these processes millions of times
faster. It would solve problems that I couldn't solve unless I lived
and worked for a million years. It didn't seem likely that this would
be easy, and full success in one lifetime seemed like a long shot.
So it has turned out. Progress in AI, like that of every other important
branch of science, has been slow. It was a hundred years from Mendel
to molecular genetics, and there is still no general understanding of
how the genes control intelligence or the shape of the nose.
Like every other science, AI makes progress by picking off
parts of the problem which seem important and for which the tools
and concepts seem to exist. One such problem seems to be giving
programs common sense abilities and knowledge.
Unfortunately, my 1959 paper "Programs with Common Sense"
is not yet completely obsolete.
The idea of that paper was to express the general facts of the
common sense world as sentences of logic and arrange that a robot's
input routines would summarize their observations as sentences. The
goals would also be expressed as sentences, and the robot would
be programmed to deduce what it should do from all these sentences
and then do it.
The idea encountered the following difficulties:
. What are the general facts about the common sense world.
It isn't easy to say, even in English.
. A specific difficulty is the qualification problem. When
one attempts to write down generally true facts about, for example,
the effects of action, one encounters exceptional cases that must
somehow be provided for. Indeed with a little imagination, one
invents qualifications to the general statements that no-one has
ever thought of before but which could happen.
. Combinatorial explosion has not turned out to be an
important difficulty in applications of logic to common sense
reasoning. Unlike mathematical problems, few common sense
reasoning problems need ways of generating arbitrary numbers
of terms.
considerations:
general common sense facts
the good and bad of production rule formalisms.
examples
an example of formalization
the need for non-monotonic reasoning
epistemology and heuristics
ambiguity tolerance, elaboration tolerance, frame and qualification problems
philosophical presumptions
approximate theories, the ski instructors
self-consciousness and meta-reasoning
design → plan → do
Feigenbaum question:
Is giving a computer common sense knowledge and ability simply
a question of making a very large database of common sense knowledge
of the same kind as is used by present expert systems?
My answer is no. Many present expert system are based
on production-action rules or some variant thereof. Others are
based on Prolog or Prolog-like backtracking systems. Both of these
approaches are appropriate for some common sense knowledge, but they
cannot handle even small amounts of the common sense knowledge
and ability required for some quite simple domains. However, arguing
the point would require describing and pointing out the deficiencies
of several typical knowledge formalisms. Instead I shall describe
a few common sense knowledge domains, a few common sense reasoning
capabilities, and a few actual formalizations in second order
mathematical logic. Then I will offer some challenge problems
with a few arguments as to why they aren't trivial.
I begin with some general remarks.
HISTORY, EPISTEMOLOGY AND HEURISTICS
Question:
What is common sense?
Answer:
A certain collection of knowledge and ability possessed by
almost all humans and needed for intelligent behavior in a wide
variety of situations. We will give many examples, but I don't have
an exhaustive answer.
Feigenbaum's question:
Is giving a computer common sense just a matter of providing
a very large number of rules to a present expert system formalism?
My answer:
Not unless you cheat by programming an interpreter for a more
sophisticated knowledge using system. If you do that you still have to
define the more sophisticated system and write your knowledge in its
formalism.
Separating facts from program:
Hint from biology:
We humans have some kinds of knowledge built in to our behavior
"programs". Other kinds are used explicitly. Still other kinds are
represented and used in both ways.
Epistemologically adequate formalisms
(1) can represent the knowledge that is actually available
and
(2) represent the knowledge in a modular way. For example,
anything that can be communicated in a natural language sentence
has a short representation.
The goal of expressing common sense knowledge in logic is rather old.
Progress has been slow and some people claim we should give up, but
they have other arguments besides slowness. As to slowness, AI has
turned out to be a difficult science, but why should that be surprising?
{\bf McCarthy, John (1959)}: "Programs with Common Sense," in {\it
Proceedings of the Teddington Conference on the Mechanization of Thought
Processes}, Her Majesty's Stationery Office, London.
{\bf McCarthy, John and P.J. Hayes (1969)}: "Some Philosophical Problems from
the Standpoint of Artificial Intelligence", in D. Michie (ed), {\it Machine
Intelligence 4}, American Elsevier, New York, NY.
Philosophical presumptions:
Yehoshua Bar-Hillel commented in 1958 that this approach involves
philosophical presumptions. Here are some.
(1) Common sense is essentially correct. The world exists
and we observe it and partially understand it. Much of our knowledge
involves relations between appearances and an underlying reality.
(2) Approximate theories are what humans use and what machines
need. The search for precise definitions of many common sense concepts
is pointless in constructing robots or in understanding epistemology.
This is where philosophers often lose both in terms of usefulness but
even in achieving their own goals. The nature of the approximations
has to be studied.
Overlap with philosophy:
AI theory includes topics also treated in philosophy.
AI needs a theory of knowledge, i.e. epistemology, but philosophers
hardly ever try to formalize such facts as are needed to program a robot
to infer from its observations that the dog wants to go out. They
do treat the concept of {\it wanting} but usually get involved in
exceptions to very general definitions. AI also needs a theory of
what domains of objects the variables in a knowledge base shall range
over, and this overlaps what philosophers call {\it ontology}.
However, philosophers haven't been interested in when a robot can use
{\it red} only as a predicate and when it must also be treated as an object.
Avoiding philosophical traps requires understanding {\it approximate}
{\it theories}. I discuss this in my 1979 paper
"Ascribing Mental Qualities to Machines" in {\it Philosophical Perspectives
in Artificial Intelligence}, Ringle, Martin (ed.), Harvester Press, July 1979.
Philosophical presuppositions of AI:
In 1958 the linguistic philosopher Bar-Hillel remarked that AI, or
at least formalizing common sense, involved philosophical presuppositions.
He was right. For example, I have said that much common sense knowledge
is about the relations between {\it appearance} and {\it reality}. Many
philosophers don't admit the distinction.
Common sense reasoning often involves inference from
appearance to reality. While the most common examples are visual,
these involve difficulties that I don't want to treat. Therefore,
consider
A person (and a robot) normally needs to go from appearance to reality.
One sees a trash can on its side and infers the event of its being
knocked over by a dog.
Many such inference rules are well represented by productions.
However:
Our stable general information goes from reality to appearance.
Dogs knock over trash cans. So can a mischievous child. So might
a nervous meter reader fleeing what he mistakenly thought was a
ferocious dog but which was only a radio program. The last was
chosen to be exotic, i.e. neither I nor you thought of it previously,
so it's not compiled into a rule that goes from appearance to reality.
\centerline{\bf The epistemology of common sense:}
\bigskip
\itemb What must a robot know about the common sense world?
\itemb What inferences must it admit?
\vskip .15truein
We can often usefully separate this problem from the heuristic problem
of programming the search for useful inferences.
Preventing the dogs from knocking over the trash cans.
It was several months before I solved it. No-one has
immediately proposed a good or even reasonable solution. Therefore,
it is a difficult problem in common sense reasoning.
No-one has any difficulty in understanding the solution.
Perhaps you could quibble over the solution, but it did work.
Theoretical knowledge:
Perhaps this is part of common sense, perhaps not.
Example:
"A sealed container is sterile if all the bacteria in it
are dead".
The fact is useful, but we don't use it directly by
(1) knocking each bacterium on the head
or
(2) checking each bacterium to see if it is alive.
Instead we heat a container or poison it to sterilize it or
empty it into a culture medium and later look for colonies in order
to test it for sterility. AI systems must use this fact differently
from the way they use practical knowledge.
The bacterial theory of disease is another example. It is readily
understood, but diseases are not diagnosed and treated in terms of
seeing the actions of individual bacteria and killing individual bacteria.
Note that the concept of theoretical knowledge is distinct from that of
mathematical knowledge.
Effects of actions in achieving goals
This is the area where I have done most of my formal work and
also the domain of planning programs.
1. Situation calculus.
2. Frame problem.
3. Qualification problem.
Blocks world:
The following set of "situation calculus" axioms solves the
frame problem for a blocks world in which blocks can be moved and painted.
Here ⊗result(e,s) denotes the situation that results when event ⊗e occurs
in situation ⊗s. The formalism is approximately that of (McCarthy and Hayes
1969).
!!b1: %2∀x e s.¬ab aspect1(x,e,s) ⊃ location(x,result(e,s)) = location(x,s)%1.
!!b2: %2∀x e s.¬ab aspect2(x,e,s) ⊃ color(x,result(e,s)) = color(x,s)%1.
Objects change their locations and colors only for a reason.
!!b3: %2∀x l s.ab aspect1(x,move(x,l),s)%1
and
%2∀x l s.¬ab aspect3(x,l,s) ⊃ location(x,result(move(x,l),s)) = l%1.
!!b4: %2∀x c s.ab aspect2(x,paint(x,c),s)%1
and
%2∀x c s.¬ab aspect4(x,c,s) ⊃ color(x,result(paint(x,c),s)) = c%1.
Objects change their locations when moved and their colors when painted.
This prevents the
rule ({eq b3}) from being used to infer that an object will move
if it isn't clear or to a destination that isn't clear
or if the object is too heavy. An object also cannot be moved to
its own top.
A location is clear if all the objects there are trivial, e.g. a speck of dust.
Trivial objects are abnormal in %2aspect7%1.
Non-monotonic reasoning:
Common sense reasoning, unlike deduction in mathematical
logic, is often non-monotonic. A conclusion {\it p} is
inferred from a collection {\it A} of premisses, but it may
be rejected when we have a collection {\it B} of premisses
even though $A ⊂ B$. Some people concluded that non-monotonicity
meant that logic was inappropriate for common sense reasoning.
However, starting in the late 1970s, formalized systems of
non-monotonic reasoning were developed that supplemented
mathematical logic and could be studied by the same mathematical
methods. This gave the expression of common sense facts in
mathematical logic a new lease on life.
Non-monotonic logic - McDermott and Doyle
Default logic - Reiter
Circumscription - McCarthy
Self-consciousness:
It is very easy to make a computer program look at itself. If it
has access to the interpreter, it can determine (slowly) what it
would do in response to arbitrary initial conditions and inputs.
This is not the way human self-consciousness works and probably
not the most useful form.
There are several useful forms.
1. Regarding the self as a material object and an actor
sharing properties with other material objects and actors.
This lets humans learn from the experience of others.
Thus Galileo could infer that if he jumped of the Leaning
Tower, he too would accelerate at 32 feet per second per second.
We also go the other way and learn about others from ourselves.
The common sense knowledge about this seems easy to express.
2. Self-observation.
Why is common sense difficult for AI?
Perhaps the key difficulty is that an
{\it elaboration tolerant} formalism is required.
Humans can learn incrementally from experience or
instruction. Many improvements to preent AI systems
require modification, not merely addition of new facts,
by someone who understands the present state.
Non-monotonic reasoning is required for elaboration
tolerance, but we don't have the right formalisms yet,
or else we don't yet understand how to use them.
\centerline{\bf The principle of rationality:}
\itemb It will do what it believes will achieve its goals.
\centerline{\bf An elaboration:}
\itemb It intends to do what it believes will achieve its goals.
\centerline{\bf Non-monotonic contractions:}
\itemb It will do what will achieve its goals.
\itemb It will achieve its goals.
\centerline{\bf Example of unnecesary elaboration:}
\vskip 0pt
``He believes scratching his ear will relieve its itch, so he intends
to scratch his ear''
Theoretical facts:
Common sense sometimes involves using information differently
from the ways made available by present expert system formalisms.
{\it A container is sterile if all the bacteria in it are
dead.} This fact can be expressed in many AI formalisms, for example
as a fragment of Prolog program that can be
interpreted directly. However,
the resulting program will test for sterility by proposing to
examine each bacterium and sterilize a container by killing the
bacteria one by one. Since bacteria aren't individually accessible,
this won't work.
The above definition of {\it sterile container} is used
differently. It may be combined with the fact that a bacterium
will give rise to a colony when put in a culture medium in order
to develop a test for sterility, and it may be combined with
the fact that heat and certain chemicals kill bacteria to develop
a procedure for sterilization.
Therefore, we propose to regard the definition of sterility
as a {\bf theoretical fact} -- one which is used only in connection with
other facts rather than directly interpreted computationally.
I originally had in mind equations of physics like $s = 1\over 2 gt2$
as theoretical facts, but it now seems to me that mathematics
is not required for a statement to be theoretical. Indeed if
$s = 1\over gt$ is used only to compute particular distances fallen,
we can regard it as directly executable knowledge.
It seems reasonable to include some theoretical knowledge
in our idea of common sense.
A related problem is suggested by the Chat program of Fernando
Pereira. It will give the population of France if asked {\it "What
is the population of France?"}, but if asked {\it "How many people
are there in France?"}, it will try to count them, because this is
how {\it how many} is translated from English into Prolog.
The point seems to be that even such a straightforward phrase
as {\it how many} often must be used in a "theoretical" way.
Unless you are planning a census, you think about a reference
book rather than about counting when asked {\it How many people
are there in France?"} Indeed {\it how many} questions are often
answered by other processes than counting.
Natural kinds:
The usual way of introducing concepts into inference systems
is by definitions. Several philosophers have recently pointed out that this
is not how a person gets most of his concepts. Some concepts are
{\it natural kinds}. We learn about a natural kind by hearing about it
or by experiencing an example. We may never get a definition, and
a definition may be impossible. There is usually always more to learn about
the concept.
The most straightforward example of a natural kind is biological
species, e.g. a lemon. We can tell a lemon from other objects in our
experience after experiencing one or even from an incomplete description.
This is because there is not a continuous gradation from lemons to other
objects in our world. We are fortunate that anything like the lemons
of our experience or that match the partial description we have been
given is almost certain to be a lemon. We can learn that lemons grow
on trees, because there don't happen to be two similar fruits, one of
which grows on trees and the other doesn't.
Children seem to expect words to denote natural kinds. When
they hear a word, they assume the word denotes something and are ready
to learn more about what it denotes. It requires considerable maturity
to deal with concepts entirely determined by definitions. They are
common only in mathematics.
It would seem that the ability to take words or other symbols
as designating natural kinds is part of common sense and will be
needed by programs with common sense.
Biological species concepts are the best examples, because they
are usually separated from other species by many properties, many of
which are unknown. However, a person must treat other concepts as
natural kinds. While the concept of hill is not sharply defined,
grading into mountains at one extreme and mere bumps at the other,
we still can learn more about hills than is given by a definition.
Indeed there is always more that can be learned about Zeus or Santa
Claus.
Rich objects and finite objects:
Real objects and hypothetical objects:
Some objects must be considered to have infinite detail. For
example, situations are treated this way in the situation calculus.
There is always more one can learn about an actual situation.
Finitization:
Any real situation is characterized by an extremely large
number of known and knowable facts. There are also an enormous
number of possible actions - taking account that in the
dogs-and-trashcans problem, one available action is taking off my
shirt and relevant actions like chasing dogs or complaining to
the neighbors can be done in a great variety of ways.
However, common sense reasoning often reduces the problem
to one with a small number of states and with a small number of
possible actions. This is accomplished by taking only a subset of
possible situations as reasonable, and lumping situations together
that are equivalent with regard to the characteristics considered
relevant. We also get a small number of possible actions by
concentrating on a small class deemed to be relevant and lumping
together those deemed equivalent.
One of the weaknesses of present AI is that our problem
solving and planning systems require this to be done
before the problem and the relevant facts are even given to the
program. This is also a weakness of Operations Research methodology.
There it corresponds to the process of forming a model of the
phenomenon to be studied. Forming the model, which is done by
the researcher before the mathematics begins, is precisely a
process of finitization. (We can still call the process
of forming the model finitization
even if it involves continuously varying quantities resulting in
ordinary or partial differential equations).
The reasoning involved in finitization is clearly non-monotonic.
%minimize features of the situation, e.g. objects present
Circumscription and other non-monotonic reasoning formalisms:
%McDermott's problem of turning out the lights.
It has long been considered that the methods of reasoning
developed in mathematical logic do not include all those used
by humans. Indeed some researchers have been so struck by this
fact that they have argued that mathematical logic is useless.
However, what extensions to make has not been obvious. It is
reasonably clear that some of the nice properties of logic have
to be sacrificed, because the logicians have virtually characterized
all formal methods that have these nice properties. For example,
they have proved that any new rule of inference added to
first order logic is either a consequence of the known laws or
is not valid, i.e. it sometimes produces consequences that are
false in some models of the premisses.
Among the additions that have been considered by logicians
and philosophers are various forms of multi-valued logic, modal
logic, logics of induction and relevance logics. However, the fact
that non-monotonicity is a key property of human common sense
reasoning was discovered in connection with AI work.